package code16_thread;

public class Test04 {

	public static void main(String[] args) {
		Thread t1 = new Thread(new Runnable() {
			@Override
			public void run() {
				String name = Thread.currentThread().getName();
				for (int i = 0; i < 50; i++) {
					System.out.println(name + " : " + i);
					if (i == 8) {
//						try {
//							System.out.println("休眠开始......");
//							Thread.sleep(5000); // 毫秒
//							System.out.println("休眠结束, 继续执行");
//						} catch (InterruptedException e) {
//							//e.printStackTrace();
//							// 休眠被中断
//							System.out.println(name + " 休眠被中断");
//						}
						
						// 让步
						System.out.println(name + " 让步");
						Thread.yield();
					}
				}
			}
		}, "tom");
		t1.start();
		
		for (int i = 0; i < 500; i++) {
			//if(i == 0) {
				// 打断 t1 线程, 让 其 进入 就绪
				//System.out.println("打断线程 " + t1.getName());
				//t1.interrupt();// 打断 未休眠(阻塞)的线程 是没有意义的, 但不会报错.
			//}
//			if (i == 20) {
//				try {
//					// 加入(插队)
//					t1.join();
//				} catch (InterruptedException e) {
//					e.printStackTrace();
//				}
//			}
			String name = Thread.currentThread().getName();
			System.out.println(name + " : " + i);
		}
		
		System.out.println("--------main over-------");
	}
	
}